package com.dearbinge.data.dao.address;

import com.dearbinge.data.pojo.address.Regions;
import com.dearbinge.data.pojo.address.UserAddress;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户地址dao层
 *
 * @author wes
 * @date 2019/2/14
 */
@Mapper
public interface UserAddressMapper {

    /**
     * 根据id删除
     *
     * @param id id
     * @return 结果
     */
    int deleteAddress(Integer id);

    /**
     * 增加地址
     *
     * @param record 地址
     * @return 结果
     */
    int insert(UserAddress record);

    /**
     * 根据id查询
     *
     * @param id id
     * @return 地址对象
     */
    UserAddress getUserAddressById(Integer id);

    /**
     * 根据id修改
     *
     * @param record 地址
     * @return 结果
     */
    int update(UserAddress record);

    /**
     * 根据用户id修改默认地址
     *
     * @param userId 用户id
     * @return 结果
     */
    int updateDefaultByUserId(@Param("userId") String userId);

    /**
     * 根据用户id查询地址
     *
     * @param userId 用户id
     * @return 地址集
     */
    List<UserAddress> listAddressByUserId(String userId);

    /**
     * 根据用户id统计地址数
     * @param userId 用户id
     * @return 总数
     */
    Integer countAddressByUserId(String userId);


}